package com.xuecheng.api.media;

import com.xuecheng.framework.domain.media.response.CheckChunkResult;
import com.xuecheng.framework.model.response.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.multipart.MultipartFile;

@Api(value = "Day_13:媒资管理接口",description = "媒资管理接口,提供文件上传,处理等接口")
public interface MediaUploadControllerApi {

    //文件上传前的准备工作    fileExt:文件的扩展名   FileMd5:文件的md5值
    @ApiOperation("文件上传注册/文件上传前的是否存在")
    public ResponseResult register( String fileMd5,
                                    String fileName,
                                    Long fileSize,
                                    String mimetype,
                                    String fileExt);

    //fileMd5:文件的md5值   chunk:第几块   chunkSize:块的大小
    @ApiOperation("校验分块文件是否存在")
    public CheckChunkResult checkchunk(String fileMd5,
                                       Integer chunk,
                                       Integer chunkSize);

    //file:文件本身    fileMd5:文件的md5值   chunk:第几块
    @ApiOperation("上传分块")
    public ResponseResult uploadchunk(MultipartFile file,
                                      String fileMd5,
                                      Integer chunk);
    //fileMd5:文件的md5值   fileName:文件名字   mimetype:文件类型    fileExt:文件扩展名
    @ApiOperation("合并分块")
    public ResponseResult mergechunks(String fileMd5,
                                      String fileName,
                                      Long fileSize,
                                      String mimetype,
                                      String fileExt);
}
